/*
 * Copyright (c) 2002-2017 "Neo Technology,"
 * Network Engine for Objects in Lund AB [http://neotechnology.com]
 *
 * This file is part of Neo4j.
 *
 * Neo4j is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */


/*
Credits: http://ethanschoonover.com/solarized

SOLARIZED HEX     16/8 TERMCOL  XTERM/HEX   L*A*B      RGB         HSB
--------- ------- ---- -------  ----------- ---------- ----------- -----------
base03    #002b36  8/4 brblack  234 #1c1c1c 15 -12 -12   0  43  54 193 100  21
base02    #073642  0/4 black    235 #262626 20 -12 -12   7  54  66 192  90  26
base01    #586e75 10/7 brgreen  240 #585858 45 -07 -07  88 110 117 194  25  46
base00    #657b83 11/7 bryellow 241 #626262 50 -07 -07 101 123 131 195  23  51
base0     #839496 12/6 brblue   244 #808080 60 -06 -03 131 148 150 186  13  59
base1     #93a1a1 14/4 brcyan   245 #8a8a8a 65 -05 -02 147 161 161 180   9  63
base2     #eee8d5  7/7 white    254 #e4e4e4 92 -00  10 238 232 213  44  11  93
base3     #fdf6e3 15/7 brwhite  230 #ffffd7 97  00  10 253 246 227  44  10  99
yellow    #b58900  3/3 yellow   136 #af8700 60  10  65 181 137   0  45 100  71
orange    #cb4b16  9/3 brred    166 #d75f00 50  50  55 203  75  22  18  89  80
red       #dc322f  1/1 red      160 #d70000 50  65  45 220  50  47   1  79  86
magenta   #d33682  5/5 magenta  125 #af005f 50  65 -05 211  54 130 331  74  83
violet    #6c71c4 13/5 brmagenta 61 #5f5faf 50  15 -45 108 113 196 237  45  77
blue      #268bd2  4/4 blue      33 #0087ff 55 -10 -45  38 139 210 205  82  82
cyan      #2aa198  6/6 cyan      37 #00afaf 60 -35 -05  42 161 152 175  74  63
green     #859900  2/2 green     64 #5f8700 60 -20  65 133 153   0  68 100  60
 */


/***********
 * Editor
 */

.CodeMirror.cm-s-cypher {
    background-color: white;
    line-height: 1.4375;
    color: #657b83;
}

.CodeMirror.cm-s-cypher.cm-s-cypher-dark {
    background-color: #002b36;
    color: #839496;
}

.cm-s-cypher pre {
    padding: 0;
}

.cm-s-cypher .CodeMirror-lines {
    padding: 0;
}

.cm-s-cypher .CodeMirror-cursor {
    width: auto;
    border: 0;
    background: rgba(58, 63, 63, 0.63);
    z-index: 1;
}

.cm-s-cypher.cm-s-cypher-dark .CodeMirror-cursor {
    background: rgba(51, 58, 59, 0.63);
}


/***********
 * Gutter
 */

.cm-s-cypher .CodeMirror-gutters {
    border-right: 1px solid rgb(25, 118, 210, 0.1);
    padding-left: 1px;
    padding-right: 3px;
    background-color: rgb(25, 118, 210, 0.04);
}

.cm-s-cypher.cm-s-cypher-dark .CodeMirror-gutters {
    background-color: #515151;
    border-right: 3px solid #515151;
}

.cm-s-cypher .CodeMirror-linenumber {
    padding-left: 2px;
    padding-right: 5px;
    color: rgb(25, 118, 210);
}

.cm-s-cypher.cm-s-cypher-dark .CodeMirror-linenumber {
    color: #839496;
}


/***********
 * Token
 */

.cm-s-cypher .cm-comment {
    color: #93a1a1;
}

.cm-s-cypher.cm-s-cypher-dark .cm-comment {
    color: #586e75;
}

.cm-s-cypher .cm-string {
    color: #b58900;
}

.cm-s-cypher .cm-number {
    color: #2aa198;
}


/* 
.cm-s-cypher .cm-operator {}
 */

.cm-s-cypher .cm-keyword {
    color: #859900;
}


/***********
 * Parser
 */

.cm-s-cypher .cm-p-label {
    color: #cb4b16;
}

.cm-s-cypher .cm-p-relationshipType {
    color: #cb4b16;
}

.cm-s-cypher .cm-p-variable {
    color: #268bd2;
}

.cm-s-cypher .cm-p-procedure {
    color: #6c71c4;
}

.cm-s-cypher .cm-p-function {
    color: #6c71c4;
}

.cm-s-cypher .cm-p-parameter {
    color: #dc322f;
}

.cm-s-cypher .cm-p-property {
    color: #586e75;
}

.cm-s-cypher.cm-s-cypher-dark .cm-p-property {
    color: #93a1a1;
}

.cm-s-cypher .cm-p-consoleCommand {
    color: #d33682;
}

.cm-s-cypher .cm-p-procedureOutput {
    color: #268bd2;
}

.CodeMirror-hints {
    margin: 0;
    padding: 0;
    position: absolute;
    z-index: 10;
    list-style: none;
    box-shadow: 2px 3px 5px rgba(0, 0, 0, .2);
    border: 1px solid silver;
    background: white;
    font-size: 90%;
    font-family: monospace;
    max-height: 30em;
    max-width: 600px;
    overflow-y: auto;
    overflow-x: auto;
}

.CodeMirror-hint {
    margin: 2px 0;
    padding: 0 4px;
    white-space: pre;
    color: #657b83;
    cursor: pointer;
    font-size: 11pt;
    background-position-x: 5px;
}

.CodeMirror-hint b {
    color: #073642;
}

.CodeMirror-hint-active {
    background-color: #EFEFF4;
}


/* 
.cm-hint-keyword {
}
 */

.cm-hint-label {
    padding-left: 22px !important;
    background-size: auto 80% !important;
    background-position: 3px center;
    background-repeat: no-repeat !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' viewBox='0 0 40 40'><circle cx='20' cy='20' r='19' stroke='black' stroke-width='1' fill='white'></circle><text x='50%' y='50%' text-anchor='middle' dy='.35em' font-size='28' font-family='Monaco' fill='%23cb4b16'>L</text></svg>");
}

.cm-hint-relationshipType {
    padding-left: 22px !important;
    background-size: auto 80% !important;
    background-position: 3px center;
    background-repeat: no-repeat !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' viewBox='0 0 40 40'><circle cx='20' cy='20' r='19' stroke='black' stroke-width='1' fill='white'></circle><text x='50%' y='50%' text-anchor='middle' dy='.35em' font-size='28' font-family='Monaco' fill='%23cb4b16'>R</text></svg>");
}

.cm-hint-variable {
    padding-left: 22px !important;
    background-size: auto 80% !important;
    background-position: 3px center;
    background-repeat: no-repeat !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' viewBox='0 0 40 40'><circle cx='20' cy='20' r='19' stroke='black' stroke-width='1' fill='white'></circle><text x='50%' y='50%' text-anchor='middle' dy='.35em' font-size='28' font-family='Monaco' fill='%23268bd2'>V</text></svg>");
}

.cm-hint-procedure {
    padding-left: 22px !important;
    background-size: auto 80% !important;
    background-position: 3px center;
    background-repeat: no-repeat !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' viewBox='0 0 40 40'><circle cx='20' cy='20' r='19' stroke='black' stroke-width='1' fill='white'></circle><text x='50%' y='50%' text-anchor='middle' dy='.35em' font-size='28' font-family='Monaco' fill='%236c71c4'>λ</text></svg>");
}

.cm-hint-function {
    padding-left: 22px !important;
    background-size: auto 80% !important;
    background-position: 3px center;
    background-repeat: no-repeat !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' viewBox='0 0 40 40'><circle cx='20' cy='20' r='19' stroke='black' stroke-width='1' fill='white'></circle><text x='50%' y='50%' text-anchor='middle' dy='.35em' font-size='28' font-family='Monaco' fill='%236c71c4'>λ</text></svg>");
}

.cm-hint-parameter {
    padding-left: 22px !important;
    background-size: auto 80% !important;
    background-position: 3px center;
    background-repeat: no-repeat !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' viewBox='0 0 40 40'><circle cx='20' cy='20' r='19' stroke='black' stroke-width='1' fill='white'></circle><text x='50%' y='50%' text-anchor='middle' dy='.35em' font-size='28' font-family='Monaco' fill='%23dc322f'>$</text></svg>");
}

.cm-hint-propertyKey {
    padding-left: 22px !important;
    background-size: auto 80% !important;
    background-position: 3px center;
    background-repeat: no-repeat !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' viewBox='0 0 40 40'><circle cx='20' cy='20' r='19' stroke='black' stroke-width='1' fill='white'></circle><text x='50%' y='50%' text-anchor='middle' dy='.35em' font-size='28' font-family='Monaco' fill='%23586e75'>P</text></svg>");
}

.cm-hint-consoleCommand {
    padding-left: 22px !important;
    background-size: auto 80% !important;
    background-position: 3px center;
    background-repeat: no-repeat !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' viewBox='0 0 40 40'><circle cx='20' cy='20' r='19' stroke='black' stroke-width='1' fill='white'></circle><text x='50%' y='50%' text-anchor='middle' dy='.35em' font-size='28' font-family='Monaco' fill='%23d33682'>C</text></svg>");
}

.cm-hint-consoleCommandSubcommand {
    padding-left: 22px !important;
    background-size: auto 80% !important;
    background-position: 3px center;
    background-repeat: no-repeat !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' viewBox='0 0 40 40'><circle cx='20' cy='20' r='19' stroke='black' stroke-width='1' fill='white'></circle><text x='50%' y='50%' text-anchor='middle' dy='.35em' font-size='28' font-family='Monaco' fill='%23d33682'>C</text></svg>");
}

.cm-hint-procedureOutput {
    padding-left: 22px !important;
    background-size: auto 80% !important;
    background-position: 3px center;
    background-repeat: no-repeat !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' viewBox='0 0 40 40'><circle cx='20' cy='20' r='19' stroke='black' stroke-width='1' fill='white'></circle><text x='50%' y='50%' text-anchor='middle' dy='.35em' font-size='28' font-family='Monaco' fill='%23268bd2'>V</text></svg>");
}